/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.evote.monitoreo.entity;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author Mendoza
 */
@Entity
@Table(name = "partidopolitico", catalog = "evote", schema = "")
@NamedQueries({
    @NamedQuery(name = "Partidopolitico.findAll", query = "SELECT p FROM Partidopolitico p"),
    @NamedQuery(name = "Partidopolitico.findByIdPartidoPolitico", query = "SELECT p FROM Partidopolitico p WHERE p.idPartidoPolitico = :idPartidoPolitico"),
    @NamedQuery(name = "Partidopolitico.findByNombre", query = "SELECT p FROM Partidopolitico p WHERE p.nombre = :nombre"),
    @NamedQuery(name = "Partidopolitico.findByAbreviatura", query = "SELECT p FROM Partidopolitico p WHERE p.abreviatura = :abreviatura"),
    @NamedQuery(name = "Partidopolitico.findByEstado", query = "SELECT p FROM Partidopolitico p WHERE p.estado = :estado"),
    @NamedQuery(name = "Partidopolitico.findByLogo", query = "SELECT p FROM Partidopolitico p WHERE p.logo = :logo")})
public class Partidopolitico implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "idPartidoPolitico", nullable = false)
    private Integer idPartidoPolitico;
    @Column(name = "nombre", length = 45)
    private String nombre;
    @Column(name = "abreviatura", length = 45)
    private String abreviatura;
    @Column(name = "estado")
    private Character estado;
    @Column(name = "logo", length = 100)
    private String logo;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "partidoPoliticoidPartidoPolitico")
    private List<CandidatoPartidopolitico> candidatoPartidopoliticoList;

    public Partidopolitico() {
    }

    public Partidopolitico(Integer idPartidoPolitico) {
        this.idPartidoPolitico = idPartidoPolitico;
    }

    public Integer getIdPartidoPolitico() {
        return idPartidoPolitico;
    }

    public void setIdPartidoPolitico(Integer idPartidoPolitico) {
        this.idPartidoPolitico = idPartidoPolitico;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getAbreviatura() {
        return abreviatura;
    }

    public void setAbreviatura(String abreviatura) {
        this.abreviatura = abreviatura;
    }

    public Character getEstado() {
        return estado;
    }

    public void setEstado(Character estado) {
        this.estado = estado;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public List<CandidatoPartidopolitico> getCandidatoPartidopoliticoList() {
        return candidatoPartidopoliticoList;
    }

    public void setCandidatoPartidopoliticoList(List<CandidatoPartidopolitico> candidatoPartidopoliticoList) {
        this.candidatoPartidopoliticoList = candidatoPartidopoliticoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idPartidoPolitico != null ? idPartidoPolitico.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Partidopolitico)) {
            return false;
        }
        Partidopolitico other = (Partidopolitico) object;
        if ((this.idPartidoPolitico == null && other.idPartidoPolitico != null) || (this.idPartidoPolitico != null && !this.idPartidoPolitico.equals(other.idPartidoPolitico))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.evote.monitoreo.entity.Partidopolitico[idPartidoPolitico=" + idPartidoPolitico + "]";
    }

}
